home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / utility / 603 / emacs / cmd / ecmd.zoo / emacs.rc < prev    next >
Text File  |  1992-03-05  |  5KB  |  227 lines

  1. ;    EMACS.RC:    Standard micro Startup program
  2. ;            for MicroEMACS 3.9d and above
  3. ;            (C)opyright 1987 by Daniel M Lawrence
  4. ;            Last Update: 10/20/87
  5.  
  6. set $discmd FALSE
  7. write-message "[Setting up....]"
  8.  
  9. ; If you screen "SNOWS", comment this line
  10.     set $flicker "FALSE"
  11.  
  12. ; To use an IBM-PC EGA card, uncomment the following line
  13. ;    set $sres "EGA"
  14.  
  15. ;    Set Default Global modes
  16.  
  17. add-global-mode "blue"
  18. add-global-mode "WHITE"
  19. ;bind-to-key meta-prefix `    ;for annoying keyboards with ` at the top left
  20.  
  21. ;    Toggle function key window display
  22.  
  23. store-procedure    toggle-fkeys
  24.     !if %rcfkeys
  25.         !goto rcfoff
  26.     !endif
  27.  
  28. ;    toggle function key window on
  29.     save-window
  30.     1 next-window
  31.     !if &sequal $cbufname "emacs.hlp"
  32.         delete-window
  33.     !endif
  34.     !if ¬ &sequal $cbufname "Function Keys"
  35.         1 split-current-window
  36.         1 select-buffer "Function Keys"
  37.         add-mode "red"
  38.         !force 5 resize-window
  39.         1 goto-line
  40.     !endif
  41.     set %rcfkeys TRUE
  42.     !force restore-window
  43.     !if &sequal $cbufname "Function Keys"
  44.         next-window
  45.     !endif
  46.     write-message "[Function key window ON]"
  47.     !return
  48.  
  49.     ;Toggle the function key window off
  50. *rcfoff
  51.     save-window
  52.     1 next-window
  53.     !if &sequal "Function Keys" $cbufname
  54.         delete-window
  55.     !endif
  56.     !force restore-window
  57.     write-message "[Function key window OFF]"
  58.     set %rcfkeys FALSE
  59. !endm
  60.  
  61. ;    Bring up Online-help system
  62.  
  63. store-procedure get-help
  64.     set $discmd FALSE
  65.     source ehelp.cmd
  66.     set $discmd TRUE
  67. !endm
  68.  
  69. ;    Load a new page
  70.  
  71. store-procedure get-page-loader
  72.     !if &seq &find newpage.cmd ""
  73.         write-message "[Can not find NEWPAGE.CMD]"
  74.         !return
  75.     !endif
  76.     execute-file newpage.cmd
  77. !endm
  78.  
  79. ;procedure to clean out the current page (which is nothing right now)
  80.  
  81. store-procedure    clean
  82.     ; nothing by default
  83. !endm
  84.  
  85. ;    Set up auto CMODE
  86.  
  87. store-procedure set-default-mode
  88.     set %rctmp &sin $cfname "."
  89.     !if &equ %rctmp 0
  90.         !return
  91.     !endif
  92.     set %rctmp &mid $cfname &add %rctmp 1 5
  93.     !if &or &seq %rctmp "c" &seq %rctmp "h"
  94.         add-mode "cmode"
  95.     !endif
  96.     !if &seq %rctmp "cc"
  97.         add-mode "cmode"
  98.     !endif
  99.     !if &or &seq %rctmp "cpp" &seq %rctmp "hpp"
  100.         add-mode "cmode"
  101.     !endif
  102.     !if &seq %rctmp "mss"
  103.         add-mode "wrap"
  104.     !endif
  105. !endm
  106. set $readhook set-default-mode
  107.  
  108. ;    This function activates the function key window as
  109. ;    a legitimate place to call up function keys using the mouse
  110.  
  111. store-procedure mouse-clicks
  112.  
  113.     ;remember where we started, and do the mouse movement
  114.     save-window
  115.     !force mouse-move-down
  116.  
  117.     ;If not in the function key window... leave
  118.     !if ¬ &sequal $cbufname "Function Keys"
  119.         !return
  120.     !endif
  121.  
  122.     ;First pos is a screen reposition, let it through
  123.     !if &and &equ $xpos 0 &equ $ypos 0
  124.         restore-window
  125.         !return
  126.     !endif
  127.  
  128.     ;Find out what function key were gonna do
  129.     add-mode magic
  130.     2 forward-character
  131.     set %rctmp $search
  132.     !force search-reverse "[fF][0-9]"
  133.     !if &seq $status FALSE
  134.         delete-mode magic
  135.         set $search %rctmp
  136.         !return
  137.     !endif
  138.  
  139.     ;we are on the "f" or "F".  Get the function key type and number now
  140.     set $search %rctmp
  141.     set %fcase lower
  142.     !if &equ $curchar 70
  143.         set %fcase upper
  144.     !endif
  145.     1 forward-character
  146.     set %fnum &chr $curchar
  147.     1 forward-character
  148.     set %fnum &cat %fnum &chr $curchar
  149.     set %fnum &add %fnum 0
  150.     !if &equ %fnum 10
  151.         set %fnum "0"
  152.     !endif
  153.     set %fname &cat "FN" %fnum
  154.     !if &seq %fcase upper
  155.         set %fname &cat "S-" %fname
  156.     !endif
  157.  
  158.     ;save the function
  159.     set %rccmd &bind %fname
  160.     delete-mode MAGIC
  161.  
  162.     ;swallow the up-button
  163.     set %rctmp >c
  164.  
  165.     ;restore the window and exit
  166.     restore-window
  167.  
  168.     ;procedures don't need the square brackets
  169.     !if &seq &left %rccmd 1 "["
  170.         set %rccmd &mid %rccmd 2 &sub &len %rccmd 2
  171.         %rccmd
  172.         !return
  173.     !endif
  174.  
  175.     ;and then execute it
  176.     !force execute-named-command %rccmd
  177. !endm    
  178. macro-to-key mouse-clicks MSa
  179.  
  180. store-procedure mail
  181.     execute-file g:\gnu\me3.11\cmd\mail
  182. !endm
  183.     macro-to-key mail M-S
  184.  
  185.  
  186. ;    ***** Rebind the Function key group
  187.  
  188. bind-to-key search-forward        FN1
  189. bind-to-key search-reverse        FN2
  190. bind-to-key hunt-forward        FN3
  191. bind-to-key hunt-backward        FN4
  192. macro-to-key toggle-fkeys        FN5
  193. macro-to-key get-help            FN6
  194. bind-to-key next-window            FN7
  195. macro-to-key get-page-loader        FN8
  196. bind-to-key save-file            FN9
  197. bind-to-key exit-emacs            FN0
  198.  
  199. bind-to-key execute-macro-10        S-FN1
  200. bind-to-key execute-macro-11        S-FN2
  201. bind-to-key execute-macro-12        S-FN3
  202. bind-to-key execute-macro-13        S-FN4
  203. bind-to-key execute-macro-14        S-FN5
  204. bind-to-key execute-macro-15        S-FN6
  205. bind-to-key execute-macro-16        S-FN7
  206. bind-to-key execute-macro-17        S-FN8
  207. bind-to-key execute-macro-18        S-FN9
  208. bind-to-key execute-macro-19        S-FN0
  209.  
  210. ;    bring up the function key window
  211.  
  212.     1 split-current-window
  213.     select-buffer "Function Keys"
  214.     insert-string "f1 search-> f2 <-search ף    MicroEMACS:  Text Editor~n"
  215.     insert-string "f3 hunt->   f4 <-hunt   ף ~n"
  216.     insert-string "f5 fkeys    f6 help     ף  Available function key Pages include:~n"
  217.     insert-string "f7 nxt wind f8 pg[    ] ף    Word  Box  Emacs  Pascal  C  cObal Lisp~n"
  218.     insert-string "f9 save     f10 exit    ף  [use the f8 key to load Pages]~n"
  219.     unmark-buffer
  220.     delete-window
  221.     set %rcfkeys FALSE
  222. ;    toggle-fkeys
  223. ;        Bind keypad, help and delete keys on ST
  224.     execute-file stkeypad.cmd
  225. !force    execute-file &cat &cat &env HOME "\" "emacs.hrc"
  226.     set $discmd TRUE
  227.